package ink.xiaobaibai.service;

import com.baomidou.mybatisplus.extension.service.IService;
import ink.xiaobaibai.bo.MonthlyOrderHaveCodeBo;
import ink.xiaobaibai.bo.SelectMonOrderBo;
import ink.xiaobaibai.common.NewMonthlyBo;
import ink.xiaobaibai.common.PageInfo;
import ink.xiaobaibai.entity.Logistics;
import ink.xiaobaibai.entity.MonthlyfeeOrder;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author xiaobaibai
 * @since 2021-05-21
 */
public interface IMonthlyfeeOrderService extends IService<MonthlyfeeOrder> {

    public PageInfo<MonthlyfeeOrder> getOrderList(SelectMonOrderBo selectMonOrderBo);

    /**
     * 根据负责人id和时间段去查询一台机器的订单
     */
    public List<MonthlyOrderHaveCodeBo> getOrderBoListByAdminUserId(Integer userId, Date startTime, Date endTime);

    /**
     * 根据部门id和时间段去查询一台机器的订单
     */
    public List<MonthlyOrderHaveCodeBo> getOrderBoListByDepId(Integer depId, Date startTime, Date endTime);

    /**
     * 新开通月费个人信息存储
     */
    public void setNewMonthlyInfo(NewMonthlyBo newMonthlyBo, Integer userId);

    /**
     * 新开通月费个人信息领取
     */
    public NewMonthlyBo getNewMonthlyInfo(Integer userId, Integer adminUserId);

    /**
     * 查看管理通过但是尚未发货的包月订单的物流信息
     */
    public PageInfo<Logistics> getLogisticsListByNoSend(Integer pageNum, Integer pageSize);

}
